function fn1(x) {
  return x + 1
}

function fn2(x) {
  return x + 2
}

function fn3(x) {
  return x + 3
}

function fn4(x) {
  return x + 4
}

// 自己实现的方法 和路白老师的做法一样  ok 赞赞
function compose(){
  const fnArr = [].slice.call(arguments)
  return function (num=0) {
    const sum = fnArr.reduce((pre,cur)=>{
      return cur(pre)
    },num)
    console.log(sum)
    return sum
  }
}

const a = compose(fn1,fn2,fn3,fn4)
console.log(a(5)) // 1+2+3+4+1 = 11
